home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / openbb_xss.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  69 lines

  1. #
  2. #  This script was written by David Maciejak <david dot maciejak at kyxar dot fr>
  3. #  based on work from
  4. #  (C) Tenable Network Security
  5. #
  6. #  Ref: gr00vy <groovy2600@yahoo.com.ar>
  7. #
  8. #  This script is released under the GNU GPL v2
  9. #
  10.  
  11. if(description)
  12. {
  13.  script_id(14822);
  14.  script_bugtraq_id(9303);
  15.  if ( defined_func("script_xref") ) script_xref(name:"OSVDB", value:"3220");
  16.  script_version("$Revision: 1.3 $");
  17.  
  18.  script_name(english:"OpenBB XSS");
  19.  desc["english"] = "
  20. The remote host seems to be running OpenBB, a forum management system written
  21. in PHP.
  22.  
  23. The remote version of this software is vulnerable to cross-site scripting 
  24. attacks, through the script 'board.php'.
  25.  
  26. Using a specially crafted URL, an attacker can cause arbitrary code execution 
  27. for third party users, thus resulting in a loss of integrity of their system.
  28.  
  29. Solution: Upgraded to the latest version of this software
  30. Risk factor : Medium";
  31.  
  32.  script_description(english:desc["english"]);
  33.  script_summary(english:"Tests for XSS flaw in openBB board.php");
  34.  script_category(ACT_GATHER_INFO);
  35.  script_family(english:"CGI abuses : XSS");
  36.  script_copyright(english:"This script is Copyright (C) 2004 David Maciejak");
  37.  script_dependencie("cross_site_scripting.nasl");
  38.  script_require_ports("Services/www", 80);
  39.  exit(0);
  40. }
  41.  
  42. #
  43. # The script code starts here
  44. #
  45.  
  46. include("http_func.inc");
  47. include("http_keepalive.inc");
  48.  
  49. port = get_http_port(default:80);
  50.  
  51. if(!get_port_state(port))exit(0);
  52. if(!can_host_php(port:port))exit(0);
  53.  
  54.  
  55. if ( get_kb_item("www/" + port + "/generic_xss") ) exit(0);
  56.  
  57.  
  58. foreach d (make_list( "/openbb", cgi_dirs()))
  59. {
  60.  req = http_get(item:string(d, "/board.php?FID=%3Cscript%3Efoo%3C/script%3E"), port:port);
  61.  res = http_keepalive_send_recv(port:port, data:req, bodyonly:1);
  62.  if( res == NULL ) exit(0);
  63.  if(egrep(pattern:"<script>foo</script>", string:res))
  64.  {
  65.      security_warning(port);
  66.     exit(0);
  67.  }
  68. }
  69.